<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // json 深拷贝
      // 1、什么是json 有固定格式的字符串：跨平台传输数据；
      //   var str = 'fdafdsadfs';
      //   var str = '{"name":"张三","age":20,"height":"178cm"}'
      //   var arr = [1,2,3];
      //   var arr = Array(1,2,3);
      //   console.log(arr);
      //   console.log(str)
      //2、json的转换
      //一、把数组或者对象转成json字符串 var json字符串 = JSON.stringify(数组/对象)
      var obj = {
        name: '张安',
        age: 20,
      }
      //  console.log(obj);
      var str = JSON.stringify(obj)
      console.log(str)

      //二、把json字符串转成数组或是对象JSON.parse(json字符串)
      var newObj = JSON.parse(str)
      console.log(newObj)
      //三、利用json深拷贝
      //缺点 忽略undefined 、函数、symbol、map、set (转换时会丢失)
      var obj = {
        name: '张三',
        age: 20,
        height: '178cm',
        a: undefined,
        b: function () {
          console.log(111)
        },
        hobby: {
          one: '111',
          two: '222',
        },
      }
     console.log(obj);
     var new_obj = JSON.parse( JSON.stringify(obj));
     obj.hobby.one='666'
     console.log(new_obj);
    </script>
  </body>
</html>
